#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

#include "snake.h"
#include "food.h"

class Widget : public QWidget
{
    Q_OBJECT
private:
    Ui::Widget *ui;
    int gameWidth;          // 游戏区域宽度
    int gameHeight;         // 游戏区域高度
    int stepSize;           // 步长
    Snake *snake;           // 蛇对象
    Food *food;             // 食物对象
    QTimer *gameTimer;      // 游戏定时器
    
    // 贴图资源（新增）
    QPixmap headUp;         // 蛇头向上
    QPixmap headDown;       // 蛇头向下
    QPixmap headLeft;       // 蛇头向左
    QPixmap headRight;      // 蛇头向右
    QPixmap body;           // 蛇身
    QPixmap foodImg;        // 食物

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

protected:
    // 重写绘图事件
    void paintEvent(QPaintEvent *event) override;
    // 添加键盘事件处理声明（新增）
    void keyPressEvent(QKeyEvent *event) override;
};
#endif // WIDGET_H
